<?php
#### FUNCTIONS #################################################################
function form() { return library('form'); }

#### FORM LIBRARY ##############################################################
class FormLibrary extends HTMLLibrary {
	
	#### LEGEND ################################################################
	public function legend($value = false) {
		$return = html()->legend();
		html()->insert($value);
		html()->close('legend'); 
		return $return;
	}	
	
	#### BUTTON ################################################################
	public function button($id, $value = false, $type = 'submit') {
		$return = html()->button($id)->name($id)->type($type); 
		html()->insert($value);
		html()->close('button');
		return $return;
	}
	
	#### CHECKBOX ##############################################################
	public function checkbox($id, $checked = false) {
		if ($checked)
			return html()->input($id)->name($id)->type('checkbox')->checked();
		return html()->input($id)->name($id)->type('checkbox'); 
	}
	
	#### FILE ##################################################################
	public function file($id) {
		return html()->input($id)->name($id)->type('file'); 
	}
	
	#### HIDDEN ################################################################
	public function hidden($id, $value = false) {
		return html()->input($id)->name($id)->type('hidden')->value($value); 
	}
	
	#### IMAGE #################################################################
	public function image($id) {
		return html()->input($id)->name($id)->type('image'); 
	}
	
	#### PASSWORD ##############################################################
	public function password($id) {
		return html()->input($id)->name($id)->type('password'); 
	}
	
	#### RADIO #################################################################
	public function radio($id, $checked = false) {
		if ($checked)
			return html()->input()->name($id)->type('radio')->checked();
		return html()->input()->name($id)->type('radio');
	}
	
	#### RESET #################################################################
	public function reset($id) {
		return html()->input($id)->name($id)->type('reset'); 
	}

	#### SUBMIT ################################################################
	public function submit($id, $value = false) {
		return html()->input($id)->name($id)->type('submit')->value($value); 
	}							

	#### TEXT ##################################################################
	public function text($id, $value = false) { 
		return html()->input($id)->name($id)->type('text')->value($value); 
	}
	
	#### TEXTAREA ##############################################################
	public function textarea($id, $value = false) {
		$return = html()->textarea($id)->name($id);
		html()->insert($value);
		html()->close('textarea'); 
		return $return;
	}	
	
	#### OPTION ################################################################
	public function option($option, $value = false, $selected = false) { 
		if ($selected) return html()->option($option)->value($value)->selected(); 
		else return html()->option($option)->value($value); 
	}	
	
	#### SELECT ################################################################
	public function select($id, $options, $selected = false) {
		$return = html()->select($id)->name($id); 
		if ($options) foreach ($options as $value => $option) {
			$this->option($option, $value, ($value == $selected ? true : false));
		}
		html()->tag('/select');
		return $return;
	}
	
	#### CHECKBOX LIST #########################################################
	public function checkboxList($id, $options, $br = true) {
		$return = html();
		if ($options) foreach ($options as $key => $value) {
			if (is_array($value)) {
				$selected = $value[1];
				$value = $value[0];
			}
			$return = $this->checkbox($id.'['.$key.']', ($key == $selected ? true : false));
			html()->insert($value.'&nbsp;&nbsp;')->br($br);
		}
		return $return;
	}
}
?>
